Block-Centered Flow Package, Version 3, (BCF3)

Please Register Please Register

©1995,1996, Richard B. Winston

Last modified on Wednesday, January 31, 1996 - 5:29:25 PM

Skip forward to Input instructions for the Block-Centered Flow, Version 3.

If your version of MODFLOW has version 1 (BCF1) or version 2 (BCF2) you may wish to switch to the instructions for those packages. Input files prepared for Block-Centered Flow, Versions 1 and 2 will work with version 3 but not vice versa (unless you don't use the alternative interblock transmissivities added in version 3).

The instructions for the Block-Centered Flow Package, Version 3, (BCF3) are on pages 78 to 79 of Goode and Appel (1992). You may also need to consult the instructions for versions 1 and 2 on pages 5-37 to 5-40 of McDonald and Harbaugh (1988) and pages 17 to 23 of McDonald and others, (1992) respectively.

Introduction: The Block-Centered Flow Package, Version 3, (BCF3) is used to implement alternative measures of interblock transmissivity, wetting of cells which are dry and to describe the width of the rows and columns, the layer types (confined, unconfined, or variable) and the hydrologic properties of the aquifer(s). These include, hydraulic conductivity or transmissivity, storage characteristics, elevations of the tops and bottoms of all layers, anisotropy between the x and y directions and vertical leakance terms.

The Block-Centered Flow Package, Version 3, (BCF3) implements new formulations for calculating interblock transmissivity. If transmissivity or hydraulic conductivity vary smoothly from the center of one block to another or if the aquifer is unconfined, proper use of the alternative interblock transmissivities can improve the estimates of flow. The only variable which is altered between BCF2 and BCF3 is LAYCON. In some cases you will also need to adjust the value of IAPART in the Basic Package. Three new options are available;

  1. the arithmetic mean, (which is most appropriate for unconfined aquifers with uniform hydraulic conductivities),
  2. the logarithmic mean (which is most appropriate for confined aquifers with gradually varying transmissivities), and
  3. the mean saturated thickness times the logarithmic mean hydraulic conductivity (which is most appropriate for unconfined aquifers with gradually varying transmissivities).

Use of the wetting capability first implemented in BCF2 and retained in BCF3 can result in non-unique solutions because the head in a cell must be higher than some wetting threshold. If a cell starts off wet it can remain active even if the head drops below the wetting threshold. However, if it starts out dry, it may not be wetted because the head in the neighboring cells may be too low.

Use of the wetting capability can cause serious problems with convergence. You can try to avoid this by several methods

  1. If you know a cell should never become wet, make it an inactive cell rather than a variable head cell.
  2. You can adjust the value of the wetting threshold in WETDRY (higher is more stable but may be less accurate)
  3. You can decide which neighbors will be checked to decide if a cell should be wetted.
  4. You can use IHDWET to determine which equation is used to specify the head in newly wetted cells
  5. You can vary the wetting factor WETFCT
  6. In steady state conditions you can adjust initial conditions to values that are close to your best guess of the final conditions to improve stability
  7. You can chose a different solver. Both the SIP and PCG solvers will work with the wetting capability. The SOR solver doesn't work well with the wetting capability. Note that cells can not change between wet and dry during the inner iterations of the PCG solvers.
The two most important variables which affect stability are the wetting threshold and which neighboring cells are checked to determine if a cell should be wetted. Both of these are controlled through WETDRY.

Although this may seem obvious, if you specify both the tops and bottoms of layers, the bottom of every cell in a layer must be above or at the top of the cell in the underlying layer. The layers are numbered from top to bottom. All numbers should be right justified

Lines 1-5 are the same for all models and are entered only once. The subsequent lines are repeated for each layer but only some of the lines are used for each layer depending primarily on whether a model is steady state or transient, and the layer type. The bottom layer is treated a little differently than the others. No vertical conductance is specified for it. There are specialized instructions for each case.

Go back to Contents


Input instructions

All input parameters should be right justified.

Go back to Contents

Line 1, Spaces 1-10, Variable = ISS, Integer

Enter a right-justified 0 for transient simulations. Enter a nonzero integer for steady state simulations.

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Line 1, Spaces 11-20, Variable = IBCFCB, Integer

Use this variable to tell where cell-by-cell flow terms for the Block Centered Flow package should be saved or if flow at constant head cells should be printed. It should be right justified. You must also set ICBCFL in the Output Control option to print or save cell-by-cell flow terms. Go back to Input instructions for the Block-Centered Flow (Version 3) Package.

Line 1, Spaces 21-30, Variable = HDRY, Real Number

Head assigned to cells that go dry during a simulation. This is similar to HNOFLO in the Basic Package

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Line 1, Spaces 31-40, Variable = IWDFLG, Integer

IWDFLG determines whether the Wetting capability will be used

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Line 1, Spaces 41-50, Variable = WETFCT, Real Number

Factor used in calculating head in a newly wetted cell. You can adjust WETFCT by trial and error to improve stability.

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Line 1, Spaces 51-60, Variable = IWETIT, Integer

Iteration interval for attempting to wet cells. Solution speed can sometimes be improved by not checking whether a cell should be wetted on every iteration. However, if a solution is reached in less than IWETIT iterations a cell will never be checked to see if it should be wetted. This is most likely to occur in transient simulations. Because cells can not change between wet and dry during the inner iterations of the PCG solvers, there is no need to set IWETIT to a value greater than 1 for the PCG solvers.

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Line 1, Spaces 61-70, Variable = IHDWET, Integer

IHDWET determines which equation is used for calculating head in a newly wetted cell. Where

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Lines 2+, Array = LAYCON, Format = 40I2

In BCF1 and BCF2, LAYCON was used only to tell whether a layer was confined, unconfined or had variable confinement. Only 1 digit was used. In BCF3, two digits are used, the second of which is identical to LAYCON in BCF1 and BCF2. The first digit represents a new variable, LAYAVG which is used to specify how transmissivities among blocks should be calculated.

For each layer, starting at the top, enter a right justified, two digit, integer to tell what type of aquifer that layer represents and how you want mean transmissivity calculated. Two spaces are reserved for each layer. Use only one line if there are 40 or fewer layers. Use two lines for 41-80 layers.

There are four options for LAYAVG, the first digit

In the above formulas

The second digit, LAYCON, also has four possible options.

This makes a total of 16 possible combinations. However, LAYAVG = 3 is not allowed with LAYCON = 0 or 2. LAYAVG will be changed to 2, if you attempt to use LAYAVG=3 with LAYCON = 0 or 2.

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Lines 3+, Array=TRPY(NLAY), entered using U1DREL

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.

Lines 4+, Array = DELR(NCOL) entered using U1DREL

Enter the width of each column going from left to right.

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Lines 5+, Array = DELC(NROW) entered using U1DREL

Enter the width of each row going from top to bottom. (Please note that it is easy to get this reversed because in plots of y vs. x, y decrease from top to bottom whereas here, row numbers increase from top to bottom. The calculations should not be affected if you get this backwards but you may increase the difficulty of transferring the data to some other program such as a plotting program or spreadsheet.)

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Lines 6+, Array = sf1(NCOL,NROW) entered using U2DREL, Use only for transient simulations.

Enter the primary storage coefficients for each cell (specific yield for water table aquifers, specific storage times layer thickness for confined or variable aquifers). Specific storage times layer thickness is referred to as "confined storage coefficient" in the original documentation of the Block Centered Flow Package.
Lines 6+ to 13+ are entered once for each layer. Enter all the lines for one layer before going on to the next layer.

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Lines 7+, Array = Tran(NCOL,NROW), entered using U2DREL

Use only for confined aquifers or variable aquifers with constant transmissivity (LAYCON = 0 or 2)
Enter the transmissivity along rows. Transmissivity along columns will be calculated by multiplying by TRPY.
Lines 6+ to 13+ are entered once for each layer. Enter all the lines for one layer before going on to the next layer.

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Lines 8+, Array = HY(NCOL,NROW), entered using U2DREL

Use only for unconfined aquifers or variable aquifers with variable transmissivity (LAYCON = 1 or 3)
Enter the hydraulic conductivity along rows. Hydraulic conductivity along columns will be calculated by multiplying by TRPY.
Lines 6+ to 13+ are entered once for each layer. Enter all the lines for one layer before going on to the next layer.

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Lines 9+, Array = BOT(NCOL,NROW) entered using U2DREL

Use only for unconfined aquifers or variable aquifers with variable transmissivity (LAYCON = 1 or 3) Enter the elevation of the bottom of the aquifer for each cell.
Lines 6+ to 13+ are entered once for each layer. Enter all the lines for one layer before going on to the next layer.

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Lines 10+, Array = Vcont(NCOL,NROW), entered using U2DREL

Use for all layers EXCEPT the bottom layer
Enter the vertical hydraulic conductance term for each cell. The vertical conductance term is calculated as (1/(Sum(z/K)) where K = hydraulic conductivity, and z terms are measured from the center of the cell in the layer for which data is being entered to the center of the cell immediately beneath it. (Equation 49, p. 5-12, McDonald and Harbaugh, 1988).

For example, suppose that the cell for which data is being entered is 5 m thick with a hydraulic conductivity of 10^-3 m/s and the cell in the layer immediately beneath it is 8 m thick with a hydraulic conductivity of 5*10^-4 m/s. The z term for the top layer is 5/2 = 2.5  m and the z term for the bottom layer is 8/2 = 4 m. The vertical conductance term is thus
V = 1/[(2.5/{10^-3})+(4/{5*10^-4})]
V = 1/[2.5*10^3+8*10^3]
V = 1/[1.05*10^4]
V = 9.52*10^-5 s^-1

In a quasi-three dimensional model, there might be a confining bed between two adjacent layers. The confining bed would not be modeled directly but its affects on the hydrology of the adjoining aquifers would be incorporated into the vertical conductance term. For example, suppose that the two layers in the example above were separated by a 3 m thick confining bed with a hydraulic conductivity of 10^-8 m/s. The z value for the confining bed would be it's thickness (3 m) and the vertical conductance term would be calculated as
V = 1/[(2.5/{10^-3})+(3/{10^-8})+(4/{5*10^-4})]
V = 1/[2.5*10^3+3*10^8+8*10^3]
V = 1/[3.000105*10^8]
V = 3.3*10^-9 s^-1

Lines 6+ to 13+ are entered once for each layer. Enter all the lines for one layer before going on to the next layer.

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Lines 11+, Array = sf2(NCOL,NROW) entered using U2DREL

Use if the simulation is transient AND the aquifer has variable confinement (LAYCON = 2 OR 3) Enter the specific yield for all cells. In the original documentation this is referred to as the secondary storage coefficient. The primary storage coefficient for unconfined aquifers is also the specific yield but in that case there is no secondary storage coefficient.
Lines 6+ to 13+ are entered once for each layer. Enter all the lines for one layer before going on to the next layer.

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Lines 12+, Array = TOP(NCOL,NROW) entered using U2DREL

Use if the aquifer has variable confinement (LAYCON = 2 OR 3)
Enter the elevation of the top of the aquifer for each cell.
Lines 6+ to 13+ are entered once for each layer. Enter all the lines for one layer before going on to the next layer.

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.


Lines 13+, WETDRY(NCOL,NROW) entered using U2DREL

Use only if the wetting capability is active (IWDFLG < > 0) and only for unconfined aquifers or variable aquifers with variable transmissivity (LAYCON = 1 or 3). The absolute value of WETDRY is the wetting threshold. Higher wetting threshold increase stability but may decrease accuracy. The choice of which neighboring cells are checked in wetting cells can affect stability. Constant head cells are never checked to determine if a cell which is dry should become wet. Lines 6+ to 13+ are entered once for each layer. Enter all the lines for one layer before going on to the next layer.

Go back to Lines 6+
Go back to Input instructions for the Block-Centered Flow (Version 3) Package.
Go back to top of BCF3
Go to Specialized Instructions
Go back to Contents


Specialized instructions:

If you do not wish to use the alternate methods of calculating interblock Transmissivity, go to Block-Centered Flow, Version 2. If you do not wish to use the wetting capability or the alternate methods of calculating interblock Transmissivity, go to Block-Centered Flow, Version 1 LAYCON=0 (confined), Steady State, Transient
LAYCON=1 (unconfined), Steady State, Transient
LAYCON=2 (variable, constant transmissivity), Steady State, Transient
LAYCON=3 (variable, variable transmissivity), Steady State, Transient

Go back to Input instructions for the Block-Centered Flow (Version 3) Package.
Go back to Contents



LAYCON=0 (confined), Steady State

Go back to Lines 7+ or the top of this section.
Go back to Specialized Instructions
Go back to Input instructions for the Block-Centered Flow (Version 3) Package.
Go back to Contents

LAYCON=0 (confined), Transient

Go back to Lines 6+ or the top of this section.
Go back to Specialized Instructions
Go back to Input instructions for the Block-Centered Flow (Version 3) Package.
Go back to Contents

LAYCON=1 (unconfined), Steady State

LAYCON=1 (unconfined) is only valid for layer 1, Lower layers that can be unconfined must be entered using LAYCON=2 or 3.
Go back to Specialized Instructions
Go back to Input instructions for the Block-Centered Flow (Version 3) Package.
Go back to Contents

LAYCON=1 (unconfined), Transient

LAYCON=1 (unconfined) is only valid for layer 1, Lower layers that can be unconfined must be entered using LAYCON=2 or 3.
Go back to Specialized Instructions
Go back to Input instructions for the Block-Centered Flow (Version 3) Package.
Go back to Contents

LAYCON=2 (variable, constant transmissivity), Steady State

Go back to Lines 7+ or the top of this section.
Go back to Specialized Instructions
Go back to Input instructions for the Block-Centered Flow (Version 3) Package.
Go back to Contents

LAYCON=2 (variable, constant transmissivity)Transient

Go back to Lines 6+ or the top of this section.
Go back to Specialized Instructions
Go back to Input instructions for the Block-Centered Flow (Version 3) Package.
Go back to Contents

LAYCON=3 (variable, variable transmissivity), Steady State

Go back to Lines 8+ or the top of this section.
Go back to Specialized Instructions
Go back to Input instructions for the Block-Centered Flow (Version 3) Package.
Go back to Contents

LAYCON=3 (variable, variable transmissivity), Transient

Go back to Lines 6+ or the top of this section.
Go back to Specialized Instructions
Go back to Input instructions for the Block-Centered Flow (Version 3) Package.
Go back to Contents

©1995,1996, Richard B. Winston,
rwinsto@lsuvm.sncc.lsu.edu
Dept. of Geology and Geophysics
Louisiana State University
Baton Rouge, La 70803
U.S.A.
504-388-2337
Fax 504-388-2302
http://scribe.geol.lsu.edu/rbwinston.html
ftp://aapg.geol.lsu.edu/pub/winston